1. Field of the Invention
The present invention generally relates to managing web applications and, more particularly, to processing requests in web applications.
2. Description of the Related Art
Generally, a distributed computer system comprises a collection of loosely coupled machines (mainframe, workstations or personal computers) interconnected by a communication network. Through a distributed computer system, a client may access various servers to store information, print documents, access databases, acquire client/server computing or gain access to the Internet. These services often require software applications running on the client's desktop to interact with other applications that might reside on one or more remote server machines. Thus, in a client/server computing environment, one or more clients and one or more servers, along with the operating system and various interprocess communication (IPC) methods or mechanisms, form a composite that permits distributed computation, analysis and presentation.
Distributed systems are often implemented with web applications. Using a web application one or more server side objects, such as pages from the server computer, can be provided to the client computer. Such pages can be displayed in a graphical user interface on the client computer using one or more windows managed by standard software such as a web browser. Each page typically includes data such as text, images, audio, or the like. A page may also include one or more items for accepting input from a user, a small amount of source code, and/or a link, each of which may generate a request when operated by the user. The request can be sent to the server computer for processing, and the server computer can communicate a response to the client computer when processing is complete. The response may include one or more additional pages that are to be displayed on the client computer.
One type of functionality that web applications may need to support is copy/cut and paste processing. For instance, a user may want to copy an object from and/or paste an object to a web application in order to share the object with other users. However, there are several constraints on copy and paste operations in web applications. By way of example, assume a user who uses a client computer to issue a copy request in a web application for a server-side object that is stored on a corresponding server computer. In this case, the entire server-side object can be rendered on the server computer as an object that is consumable by the user, such as a XML or text object.
The consumable object can be transmitted to and stored in a clipboard of the user's client computer, allowing the user to paste it anywhere, including back into the server-side web application or into other applications. However, by rendering the entire server-side object, the consumable object may expose sensitive or internal implementation details of the server-side object. On the other hand, if the entire server-side object is not rendered (on the client computer) in order to protect the sensitive and/or internal implementation details, recreating the server-side object on the server computer can be difficult or even impossible. More specifically, as a result of the user performing a paste operation back into the web application, recreation of the server-side object on the server computer on the basis of the consumable object is requested. However, as the consumable object does not include the sensitive and/or internal implementation details, these details of the server-side object can be lost during the recreation.
Therefore, there is a need for an efficient technique for processing copy and paste requests in web applications.